package com.flyme.module.file.client.api;


import com.flyme.common.core.model.ResultBody;
import com.flyme.common.core.model.query.PagerInfo;
import com.flyme.module.file.client.entity.SysCourse;
import com.flyme.module.file.client.entity.SysCourseType;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;

/**
 * @author zyf
 */
@RequestMapping("/course")
public interface SysCourseRemoteService {

    /**
     * 课程列表
     *
     * @return
     */
    @PostMapping("/list")
    ResultBody list(@ModelAttribute(value = "pagerInfo") PagerInfo pagerInfo,SysCourse course);
    /**
     * 添加课程
     * @param course
     * @return
     */
    @PostMapping(value="/add")
    ResultBody addCourse(@ModelAttribute(value = "course") SysCourse course);
    /**
     * 根据ID查询课程详情
     * @param courseId
     * @return
     */
    @GetMapping(value = "/get/{courseId}")
    ResultBody get(@PathVariable String courseId);

    /**
     * 更新课程
     *
     * @param course
     * @return
     */
    @PostMapping("/edit")
    ResultBody edit(@ModelAttribute(value = "course") SysCourse course);
    /**
     * 删除课程
     *
     * @param ids 课程ID
     * @return
     */
    @PostMapping(value="/delByIds")
    ResultBody delByIds(@RequestParam("ids") String[] ids);

    @PostMapping("/setRecommend")
    ResultBody setRecommend(@RequestParam("courseId") Long courseId, @RequestParam("recommend") Integer recommend);

    @PostMapping("/setCourseStatus")
    ResultBody setCourseStatus(@RequestParam("courseId") Long courseId, @RequestParam("courseStatus") Integer courseStatus);

    @PostMapping("/selectIndexTag")
    ResultBody selectIndexTag();

    @PostMapping("/setIndexTagId")
    ResultBody setIndexTagId(@RequestParam("id") Long id, @RequestParam("indextagId") Long indextagId);

    /**
     * 课程列表
     *
     * @return
     */
    @PostMapping("/courseList")
    ResultBody courseList(@ModelAttribute(value = "pagerInfo") PagerInfo pagerInfo,SysCourse course);

    /**
     * 添加继续教育课程
     * @param course
     * @return
     */
    @PostMapping(value="/addContinueCourse")
    ResultBody addContinueCourse(@ModelAttribute(value = "course") SysCourse course);

    /**
     * 继续教育课程列表
     *
     * @return
     */
    @PostMapping("/courseContinueList")
    ResultBody courseContinueList(@ModelAttribute(value = "pagerInfo") PagerInfo pagerInfo,SysCourse course);

    /**
     * 添加试听课
     */
    @PostMapping("/addAuditionCourse")
    ResultBody addAuditionCourse(@ModelAttribute(value = "course") SysCourse course);

    /**
     * 获取试听课列表
     */
    @PostMapping("/courseAuditionList")
    ResultBody courseAuditionList(@ModelAttribute(value = "pagerInfo") PagerInfo pagerInfo, SysCourse course);

}
